package model.enemies;

import model.utils.Speed;
import android.graphics.Canvas;

/**
 * Interface representing the enemies in the game.
 * 
 * @author EvilTeam
 *
 */
public interface IEnemy {
	/**
	 * The method draws the enemies on the game board.
	 * 
	 * @param canvas
	 */
	public void draw(Canvas canvas);

	/**
	 * Used to update enemies location.
	 */
	public void updateMyLocation();

	/**
	 * Clears the old enemy position on the game board.
	 * 
	 * @param canvas
	 */
	public void clearOldBitmap(Canvas canvas);

	/**
	 * @return the current x point position of the enemy.
	 */
	public float getX();

	/**
	 * @return the current y point position of the enemy.
	 */
	public float getY();

	/**
	 * 
	 * @return the height of the enemy.
	 */
	public int getHeight();

	/**
	 * 
	 * @return the width of the enemy.
	 */
	public int getWidth();

	/**
	 * Setting the enemy speed.
	 * @param speed
	 */
	public void setSpeed(Speed speed);
	
	/**
	 * 
	 * @return the enemy speed
	 */
	public Speed getSpeed();
	
	/**
	 * Sets enemy health.
	 * @param health
	 */
	public void setHealthPoints(int health);
	
	/**
	 * 
	 * @return enemy health.
	 */
	public int getHealthPoints();
	
}
